package com.wdb007.venus.svc.dal.user.dao;

import java.util.List;
import java.util.Map;

import com.wdb007.venus.svc.dal.user.model.UserInfoDO;
import com.wdb007.venus.svc.dal.user.model.UserRankInfoDO;
import com.wdb007.venus.svc.dal.user.model.UserRankInfoPageQueryDO;

public interface UserInfoDAO {
    int remove(Long id);

    int insert(UserInfoDO record);

    UserInfoDO get(Long id);

    UserInfoDO getByMobileNo(String mobileNo);
    
    int update(UserInfoDO record);
    
    int updateUnionidById(UserInfoDO record);
    
    int updateUnionidNullByIdOrUnionid(UserInfoDO record);
    
    int countRankList(UserRankInfoPageQueryDO rankInfoPageQueryDO);
    
    int countAllUserRank();
    
    int countUserRankByArea(String shelfCode);
    
    int countRankList2();
    
    List<UserRankInfoDO> getUserRankList(UserRankInfoPageQueryDO rankInfoPageQueryDO);
    
    int countRankListArea(UserRankInfoPageQueryDO rankInfoPageQueryDO);
    
    List<UserRankInfoDO> getAreaRankList(UserRankInfoPageQueryDO rankInfoPageQueryDO);
    
    String getUserShelfCode(Long id);
    
    UserRankInfoDO gerUserRankAllInfo(Long id);
    
    UserRankInfoDO getUserRankAreaInfo(UserRankInfoPageQueryDO rankInfoPageQueryDO);
    
    
    Integer getPersonRank(Long userId);
    
    List<UserInfoDO> getUserinfoByUnionid(UserInfoDO userinfoDo);
    
    List<UserInfoDO> getUserinfoByUnionids(Map<String, Object> map);
    
    String getMobile(String usertoken);
    
    int updateCertNoAndRealName(UserInfoDO userInfo);
} 